/**
 * 变量名字的转换
 *  'xxx/xxx/router/B_user'
 * =>  'B_user_router'
 *
 * 处理逻辑
 * 1. 用/来拆分变量， 判断最后一个单词中是否以 B_ 开头
 * 例如：'xxx/xxx/router/B_user'.split('/') ==> ['xxx', 'xxx', 'router', 'B_user']
 *    1.1 是以 B_ 开头  获取倒数第二个字符串 (router) 并用 _ 拼接起来
 *     例如： ['xxx', 'xxx', 'router', 'B_user'] => 提取出B_user, 和router => 结合成 B_user_router
 *    1.2 不是则结束
 */
const START_WITH_B_REG = /^(B\_)/

export const getAuthContent = (apiContent: string) => {
  const splitApiToArr = apiContent.split('/')
  let lastItem = splitApiToArr[splitApiToArr.length - 1]

  /**
   * 判断是否是请求参数中是否需要权限
   * 字符串中至少要有2个'/'
   * 并且最后一个字符要有以'B_'开头
   */
  if (splitApiToArr.length > 2 && START_WITH_B_REG.test(lastItem)) {
    const routerName = splitApiToArr[splitApiToArr.length - 2]
    const apiName = splitApiToArr[splitApiToArr.length - 1]

    return `${apiName}_${routerName}`
  }

  return ''
}
